.\" $Id: lat_rpc.8 1.2 00/10/16 17:13:47+02:00 staelin@hpli8.hpli.hpl.hp.com $
.TH LAT_RPC 8 "$Date: 00/10/16 17:13:47+02:00 $" "(c)1994 Larry McVoy" "LMBENCH"
.SH NAME
lat_rpc \- measure interprocess communication latency via Sun RPC
.SH SYNOPSIS
.B lat_rpc
.I -s
.sp .5
.B lat_rpc
[
.I "-P <parallelism>"
]
[
.I "-W <warmups>"
]
[
.I "-N <repetitions>"
]
[
.I "-p tcp|udp"
]
.I hostname
[
.I "udp|tcp"
]
.sp .5
.B lat_rpc
.I "-S hostname"
.SH DESCRIPTION
.B lat_rpc
is a client/server program that measures interprocess
communication latencies.  The benchmark passes a token back and forth between
the two processes (this sort of benchmark is frequently referred to as a
``hot potato'' benchmark).  No other work is done in the processes.
.LP
This benchmark may be compared to the TCP and UDP forms of the same benchmark
to accurately see the cost of using RPC versus the cost of using plain 
old TCP or UDP sockets.  It is worth noting that the RPC form is passing
back and forth a single byte, not some long complicated record.
.LP
.B lat_rpc
has three forms of usage: as a server (-s), as a client (lat_rpc localhost), and
as a shutdown (lat_rpc -S localhost).
.LP
The client form may specify the protocol over which the RPCs are performed.
The default is to measure performance for both
.I udp
and 
.IR tcp .
.SH OUTPUT
The reported time is in microseconds per round trip and includes the total
time, i.e., the context switching overhead is includeded.
Output format is like so
.sp
.ft CB
RPC/udp latency using localhost: 1344 microseconds
.br
RPC/tcp latency using localhost: 2089 microseconds
.ft
.SH ACKNOWLEDGEMENT
Funding for the development of
this tool was provided by Sun Microsystems Computer Corporation.
.SH "SEE ALSO"
lmbench(8).
.SH "AUTHOR"
Carl Staelin and Larry McVoy
.PP
Comments, suggestions, and bug reports are always welcome.
